package com.cskaoyan.javase.exception._1handle._2message;

/**
 * @description: 使用捕获的异常对象
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

public class Demo {
    public static void main(String[] args) {
        //快捷键,快速生成某些代码块结构: 选择一部分代码,然后按ctrl + alt + t
        try {
            System.out.println(10 / 0);
        } catch (ArithmeticException e) {
            //获取异常信息，返回字符串。打印的实际上是异常产生的原因
            //（不使用）String getMessage()
            System.out.println(e.getMessage());

            //获取异常类名和异常信息，返回字符串。 打印的是异常产生的原因和所在类
            //（不使用）String toString()
            System.out.println(e.toString());
            System.out.println(e);

            //获取异常类名和异常信息，以及异常出现在程序中的位置
            //（推荐使用）void printStackTrace() 直接把JVM报错信息打印在控制台上,是常见的测试时使用的方法
            e.printStackTrace();

            //使用IO流，将异常内容保存在日志文件中，以便查阅，早已过时，了解即可
            //打印异常信息到日志文件是非常重要的事情,这一般都是通过日志框架完成的,无需程序员手动
            //（过时的日志处理方式）printStackTrace(PrintStream s)
        }
    }
}
